[Chapter 30] Delivery Agents
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T19:52:59Z

#

| Chapter 30 |

# 30. Delivery Agents

Contents:
Configuration File Syntax
The Symbolic Name
m4 Configuration Syntax
The Equates
Internally Defined Names
How Executed
Pitfalls
Alphabetized F= Flags

The sendmail program does not perform the actual delivery of mail. Instead, it calls other programs (called mail delivery agents) to perform that service. Because the mechanics of delivery can vary so widely from delivery agent to delivery agent, sendmail needs a great deal of information about each delivery agent. Each sendmail `M` configuration-file command defines a mail delivery agent and the information that sendmail needs.

## 30.1 Configuration File Syntax

Like all sendmail.cf commands, the `M` mail delivery agent command must begin a line. One typical such command looks like this:

>             delivery program                        command line

>     Mlocal, P=/bin/mail, F=rlsDFMmnP, S=10, R=20, A=mail -d $u

>                          flags         sender/recipient rules

This `M` configuration command is composed of six parts: a symbolic name followed by five equates, each separated from the others by commas. Spaces between the parts are optional. The specific syntax of the mail delivery agent command is

>     Msymname, equate, equate, ...

The letter `M` always begins the delivery agent definition, followed by a symbolic name (the `symname`) of your choosing and a comma-separated list of delivery agent equates. Only the `P=` and `A=` equates are required. The others are optional.

The comma following the symbolic name is optional. As long as there is a space following the symbolic name, sendmail parses it correctly. The comma should, however, always be included for improved clarity. [1]

> [1] SunOS 4.1.2's sendmail does not properly support freezing if the comma is present.

In the following, the first example includes the comma, and the second omits it. Both are parsed by sendmail in exactly the same way:

>     Mlocal, P=/bin/mail, F=rlsDFMmnP, S=10, R=20, A=mail -d $u
>     Mlocal  P=/bin/mail, F=rlsDFMmnP, S=10, R=20, A=mail -d $u

29.11 Pitfalls |  | 30.2 The Symbolic Name